//-----------------------------------------------------------------------------
//
// @file	LevelSetViz.h
// @brief	LevelSetViz functionality
// @author	Vinod Melapudi
// @date	01May2011
//
//-----------------------------------------------------------------------------

 
#ifndef _LEVELSETVIZ_H
#define _LEVELSETVIZ_H

#include "Scene.h"

class LevelSet;


class LevelSetViz: public Scene
{
public:
	LevelSetViz();
	~LevelSetViz();

	bool Init();
	void Update();
	void Render( Renderer* renderer );
	bool HandleMessage( UINT msg, WPARAM wParam, LPARAM lParam );
	void UnInit();

private:
	void ResetHUDText();

private:

	LevelSet		m_level_set;	// Level set grid

	Mesh			m_mesh;			// Level set mesh
	
	// Debug params
	Vector3						m_highlight_cell;
	float						m_fog_distance;
	bool						m_show_level_set_grid;

	std::vector<std::string>	m_HUD_text;

	std::vector<SceneText>		m_scene_texts;
	Vector3		m_near_axis_pos, m_far_axis_pos;
};

#endif